package com.uniqueyi.baselib.utilsbase.log;

import android.util.Log;

/**
 * Created by weiyi on 2017/2/21.
 */
public class LogUtil {

    private static LogUtil logUtil;

    private boolean isShowLog=true;

    private String TAG = getClass().getName();

    private LogUtil() {
    }

    public static LogUtil getLogUtil() {
        if (logUtil == null) {
            synchronized (LogUtil.class) {
                if (logUtil == null) {
                    logUtil = new LogUtil();
                }
            }
        }
        return logUtil;
    }

    public boolean isShowLog() {
        return isShowLog;
    }

    public void setIsShowLog(boolean isShowLog) {
        this.isShowLog = isShowLog;
    }


    /**
     *
     * @param msg
     */
    public void log(Object msg) {
        log(null,msg,"d");
    }
    /**
     *
     * @param msg
     */
    public void log(String tag,Object msg) {
        log(tag,msg,"d");
    }
    public void log(String tag, Object msg, String level) {
        if (isShowLog()) {
            if (tag == null) {
                tag = TAG;
            }
            switch (level) {
                case "v":
                    logv(tag, msg+"");
                    break;
                case "d":
                    logd(tag, msg+"");
                    break;
                case "i":
                    logi(tag, msg+"");
                    break;
                case "w":
                    logw(tag, msg+"");
                    break;
                case "e":
                    loge(tag, msg+"");
                    break;
                default:
                    logd(tag, msg+"");
                    break;
            }
        }
    }

    private void logv(String tag, String msg) {
        Log.v(tag, msg);
    }

    private void logd(String tag, String msg) {
        Log.d(tag, msg);
    }

    private void logi(String tag, String msg) {
        Log.i(tag, msg);
    }

    private void logw(String tag, String msg) {
        Log.w(tag, msg);
    }

    private void loge(String tag, String msg) {
        Log.e(tag, msg);
    }

}
